home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Garbo
/
Garbo.cdr
/
mac
/
hypercrd
/
hc1_2_x
/
smrtslds.sit
/
SmartSlides 1.1
/
stack.txt
< prev
Wrap
Text File
|
1990-06-12
|
32KB
|
1,007 lines
-- stack: in.1
-- format: 8 (HyperCard 1)
-- flags: 0x1000 (none)
-- protect password hash: 0
-- maximum user level: 5 (scripting)
-- window: Rect(x1=0, y1=0, x2=0, y2=0)
-- screen: Rect(x1=0, y1=0, x2=0, y2=0)
-- card dimensions: w=0 h=0
-- scroll: x=0 y=0
-- background count: 2
-- first background id: 2612
-- card count: 2
-- first card id: 2874
-- list block id: 2174
-- print block id: 3550
-- font table block id: 0
-- style table block id: 0
-- free block count: 0
-- free size: 0 bytes
-- total size: 120800 bytes
-- stack block size: 30720 bytes
-- created by hypercard version: 0x01228000
-- compacted by hypercard version: 0x01228000
-- modified by hypercard version: 0x01228000
-- opened by hypercard version: 0x01228000
-- patterns[0]: 0x0000000000000000
-- patterns[1]: 0x0000220000002200
-- patterns[2]: 0x8800220088002200
-- patterns[3]: 0xCC003300CC003300
-- patterns[4]: 0xCC883322CC883322
-- patterns[5]: 0xEE88BB22EE88BB22
-- patterns[6]: 0xEECCBB33EECCBB33
-- patterns[7]: 0xFFCCFF33FFCCFF33
-- patterns[8]: 0xFFEEFFBBFFEEFFBB
-- patterns[9]: 0xFFFFFFBBFFFFFFBB
-- patterns[10]: 0x8010022001084004
-- patterns[11]: 0xFFFFFFFFFFFFFFFF
-- patterns[12]: 0x8822882288228822
-- patterns[13]: 0x1122448811224488
-- patterns[14]: 0xC4800C6843023026
-- patterns[15]: 0xB130031BD8C00C8D
-- patterns[16]: 0xAA00AA00AA00AA00
-- patterns[17]: 0x8822552288225522
-- patterns[18]: 0x8855225588552255
-- patterns[19]: 0x77DD77DD77DD77DD
-- patterns[20]: 0x8000000000000000
-- patterns[21]: 0xAA55AA55AA55AA55
-- patterns[22]: 0x018648281905030F
-- patterns[23]: 0x8244394482010101
-- patterns[24]: 0x8814224188412214
-- patterns[25]: 0x8080413E080814E3
-- patterns[26]: 0x22048C7422179810
-- patterns[27]: 0xBE808808EB088880
-- patterns[28]: 0x25C8328964244C92
-- patterns[29]: 0xA29C41BE2AC914EB
-- patterns[30]: 0x40A00000040A0000
-- patterns[31]: 0x8040200002040800
-- patterns[32]: 0xAA00800088008000
-- patterns[33]: 0xFF80808080808080
-- patterns[34]: 0x081C22C180010204
-- patterns[35]: 0xFF808080FF080808
-- patterns[36]: 0x7E7E7E7E7E7E7E7E
-- patterns[37]: 0x00FFFFFFFFFFFF00
-- patterns[38]: 0xFF7FBE5DA2418000
-- patterns[39]: 0xFAF5FAF5A050A050
-- checksum: 0x0
----- HyperTalk script -----
-- SmartSlides version 1.1
-- design and all scripts
-- copyright, 4 June 1990
-- Mark A. Brown
-- Philosophy Department
-- Syracuse University
-- Syracuse, NY 13244
-- (315) 443-5818
-- Menu XCMDs and XFCNs are from freeware made available by
-- Nine To Five Software. My thanks to them.
on startUp
--disables handler in Home Stack which would reset
--userlevel when stack is opened by double-clicking
end startUp
on openStack
global Speed, FlashNumber, ShortDelay, LongDelay, TabWidth, FieldsLocked, ToolView, Squeezer, LineWidth, Linking
hide menuBar
set the userLevel to 5
set the cursor to browse
put 100 into speed --normal speed for dragging
put 4 into FlashNumber --number of times to flash
put 5 into ShortDelay --interval between flashes of flasher buttons
put 20 into LongDelay --length of flashes of flasher buttons
put false into Squeezer --don't squeeze lines in text fields at first
put 3 into LineWidth --standard thickness of lines
put 5 into TabWidth --standard indent created by Tabbing
put false into Linking --not linking cards at first
set the hilite of background button id 99 to false
-- --not chaining
if the number of cards <= 2 then --seed stack
put (the number of card fields is not 0) into FieldsLocked
--no locked fields in seed stack
send SetUp to background button id 26-- of card 1
show menubar
else --developed stack
put "Precycling Cards"
lock screen
set the cursor to browse
put 2000 into Speed
show all cards
go first
put 100 into speed
put empty
hide msg
hide menubar
unlock screen
beep --to signal end of precycling
put true into FieldsLocked --no unlocked fields at first
end if
end openStack
on closeStack
lock screen
set the lockmessages to true
push card
go first
send HideTools to background "Work"
pop card
set the lockmessages to false
unlock screen
if (freeSize of this stack) > 0 and the optionKey is not down then
domenu "Compact Stack"
end if
end closeStack
on lockFields
global FieldsLocked, FieldMenu
choose Browse tool
repeat with i = 1 to the number of card fields
set the locktext of card field i to true
end repeat
put true into FieldsLocked
ChangeMenu FieldMenu,14,"Unlock All "
set the icon of background button id 25 to "LockedFields"
end lockFields
on unlockFields
global FieldsLocked, FieldMenu
repeat with i = 1 to the number of card fields
set the locktext of card field i to false
end repeat
put false into FieldsLocked
ChangeMenu FieldMenu,14,"Lock All "
set the icon of background button id 25 to "UnlockedFields"
end unlockFields
on NoScripts
lock screen
set the lockmessages to true
go next
go previous
set the lockmessages to false
unlock screen
if field "GraphArea" is not empty or field "LineSpecs" is not empty
then
answer "Delete slide's line/arrow/graph buttons?" with "Okay" or "Cancel"
if it is "Okay" then
requestPatience
choose button tool
set the cursor to busy
repeat with i = the number of buttons down to 1
if the short name of button i is "Draw" or the short name of button i is "Graph"
then
set the cursor to busy
select button i
doMenu "clear button"
end if
end repeat
choose browse tool
unlock screen
put empty into field "LineSpecs"
put empty into field "GraphArea"
put empty into msg
hide msg
end if
end if
end NoScripts
on SetFont
global Mode, Squeezer
put word 1 of Mode into NewFont
put word 2 of Mode into NewSize
set the textFont of the target to NewFont
set the textSize of the target to NewSize
if Squeezer is true
then
set the textHeight of the target to (NewSize + 2)
else
set the textHeight of the target to (4*NewSize)/3
end if
end SetFont
on SetRate
if first word of short name of target is not "AutoScroller"
then
answer "That is not an autoscrolling field." with "Okay"
else
ask "Enter desired number of pixels/scroll cycle." with word 2 of short name of target
if it is not empty
then
if it > 0 and (length of it) < 3
then
set the name of target to "Autoscroller " & it
else
answer "Need a whole number. Try again." with "Okay"
end if
end if
end if
end SetRate
on requestClick clicks
show msg at 15,320
if clicks is empty or clicks is 1 then put "Click on desired field."
if clicks is 2 then put "Click at beginning and at end desired."
end requestClick
on request2Fields
show msg at 15,320
put "Click on two fields to connect."
end request2Fields
on requestPatience
show msg at 15,320
put "There will be a slight delay. Please be patient."
end requestPatience
on requestCard
show msg at 15,270
put "Please go to the desired card and click on it."
end requestCard
on Reset
CleanUp
lockFields
put (freesize of this stack) into FS
if FS > 10000
then
put "Compacting Stack (" & FS & " free)"
domenu "Compact Stack"
put empty into msg
hide msg
end if
beep
end Reset
on resetAll
push card
requestPatience
lock screen
set the lockMessages to true
put the number of cards of background "work" into lastcard
repeat with i = 1 to lastcard
go to card i of background "work"
put "Resetting slide " & i & " of " & lastcard & "."
CleanUp
lockFields
end repeat
put empty into msg
hide msg
pop card
hidetools
hide menubar
unlock screen
set the lockMessages to false
end resetAll
on CleanUp
lock screen
repeat with i = 1 to the number of card fields
if "PopUp" is in the short name of card field i
then hide card field i
else if the short name of card field i is "TypeWriter"
then put empty into card field i
else if the style of card field i is "Scrolling"
then set the scroll of card field i to 0
set the cursor to busy
end repeat
repeat with i = 1 to the number of buttons
put the short name of button i into TheName
set the cursor to busy
if TheName is not "Hidden" and " " is not in TheName
then show button i --looks for OPTION space in TheName
if (word 1 of theName is "Shrinker") then send restore to button i
else if "Step" is in TheName then RestoreStep i
else if TheName is "Shutter"
then set the style of button i to opaque
else if TheName is "Hiliter"
then set the hilite of button i to false
else if TheName is "Inverter"
then set the hilite of button i to true
else if TheName is "Checkbox Dingbat"
then set the icon of button i to 10454
else if TheName is "Arrow Dingbat"
then set the icon of button i to 2415
end repeat
if field "LineSpecs" is not empty or field "GraphArea" is not empty
then
set the cursor to busy
choose reg poly tool
set the cursor to busy
domenu "revert"
choose browse tool
set the cursor to busy
end if
unlock screen
set the cursor to browse
end CleanUp
on DoFX direction
if direction is "next" then
put 1 into FXLine
else
put 2 into FXLine
end if
if field "FX" is not empty
then
set the cursor to busy
put line FXLine of field "FX" into request
do "visual effect" && request
end if
do "go " & direction
end DoFX
on ChangeAutoReset
global WorkMenu
--field ID 306 exists only to use its name as a "durable" global
--variable, i.e. one which survives exits from HyperCard
if true is in the name of field id 306 then
set the name of field id 306 to "AutoReset false"
CheckMenu WorkMenu,13,False
else
set the name of field id 306 to "AutoReset true"
CheckMenu WorkMenu,13,True
end if
end ChangeAutoReset
on RestoreStep wanted
put the id of button wanted into wanted
put 1 into item 1 of line wanted of field "Chains"
if item 2 of line wanted of field "Chains" is empty then
set the name of button ID wanted to "Step (1)"
else
set the name of button ID wanted to "Step 1"
end if
end RestoreStep
on newLecture
global Mode
show msg at 15,280
put "Creating new SmartSlides stack. Please be patient."
HideTools
lock screen
set the lockMessages to true
go to card "FX" of this stack
domenu "Copy card"
go to card 1 of this stack
put "Lecture" into Mode
doMenu "New Stack..." --produces clean copy of first background
put empty into Mode
if the number of cards is 1 then --didn't abort menu command
put "Still working. Please be patient."
domenu "Paste card" --adds second background
go previous
send SetUp to background button id 26 --show tools
send mouseUp to background button id 117 --create cd btn "Delay"
send mouseUp to background button id 119 --create cd btn "Beep"
send mouseUp to background button id 206 --create cd btn "LockScreen"
send mouseUp to background button id 233 --create cd btn "Opener"
put 1 into field "CardNumber"
--set default effects:
put "scroll left slowly to card" & return & "scroll right slowly to card" into field "FX"
put (freesize of this stack) into FS
if FS > 10000
then
put "Compacting Stack (" & FS & " free)"
domenu "Compact Stack"
put empty into msg
hide msg
end if
ShowCredits
end if
unlock screen
set the lockMessages to false
beep
end newLecture
on domenu which
global Mode
if the optionKey is up then
if which is "New Stack..." and Mode is not "Lecture" then newLecture
else if which is "Back" then type numtochar(126)
else if which is "Help" then GiveHelp "General Introduction "
else pass domenu
--handling "New Stack…" substitutes newLecture for Apple's menu item
--to prevent making a lecture stack which is only half-formed;
--handling "Back" avoids accidentally changing cards
--when you intend to type ~
else
put "For help concerning Apple's menus, see Apple's Help Stack."
help
end if
end domenu
on MakeCard
global ToolView
requestPatience
put empty into ToolView
doMenu "New Card"
send SetUp to background button id 26 --show tools
send mouseUp to background button id 117 --create cd btn "Delay"
send mouseUp to background button id 119 --create cd btn "Beep"
send mouseUp to background button id 206 --create cd btn "LockScreen"
send mouseUp to background button id 233 --create cd btn "Opener"
put the number of this card into field "CardNumber"
--set default effects:
put "scroll left slowly to card" & return & "scroll right slowly to card" into field "FX"
put (freesize of this stack) into FS
if FS > 10000
then
put "Compacting Stack (" & FS & " free)"
domenu "Compact Stack"
end if
put empty into msg
hide msg
end MakeCard
on MakeAutoscroll
lock screen
set cursor to busy
requestPatience
set cursor to busy
createField 135 --AutoScroller 2
put the number of card fields into newField
set cursor to busy
createButton 79 --to hide scroll bar
set cursor to busy
choose browse tool
put the number of card buttons into lastButton
set the name of button lastbutton to "Inert"
set the script of button lastbutton to empty
set cursor to busy
set the rect of button lastButton to 461,50,484,271
set cursor to busy
put "Enter scrolltext" & return & "with return after" & return & "each line." into card field newField
set cursor to hand
put empty into msg
hide msg
unlock screen
select text of card field newField
end MakeAutoscroll
on MakeTypeWriterField
global ObjectID
ask "What do you want typed in the field?" with "Enter text to be typed here."
put "--" & it into TypeText
createField 237
put ObjectID into FieldID
set the script of card field id FieldID to TypeText
createButton 266
set the name of button id ObjectID to "CursorCover "& FieldID
choose browse tool
end MakeTypeWriterField
on doTyping here
if card field id here is empty
then
put the script of card field id here into TypeText
delete char 1 to 2 of TypeText
set the locktext of card field id here to false
select text of card field id here
repeat with i = 1 to the number of chars of typetext
if char i of typetext is not space then wait 5
type char i of typetext
end repeat
set the lockText of card field id here to true
select empty
else
put "--" & (card field id here) into TypeText
set the script of card field id here to TypeText
put empty into card field id here
if the textalign of card field id here is "right"
then
put item 2 of the rect of card field id here into Y1
put item 3 of the rect of card field id here into X2
put item 4 of the rect of card field id here into Y2
set the rect of card button ("CursorCover " & here) to (X2-10),(Y1+1),(X2-3),(Y2-3)
else
set the rect of card button ("CursorCover " & here) to 0,0,0,0
end if
end if
end doTyping
on setEffects
global FX
push card
lock screen
put field "FX" into FX
go to card "FX"
repeat with i = 1 to the number of card fields
hide card field i
end repeat
hide button "Go Back"
hide picture of card "FX"
unlock screen
end setEffects
on HideTools
global Toolview, WorkMenu
set the icon of background button id 26 to 28097
set the icon of background button id 26 to 24272
if Toolview is "ButtonTools"
then
HideButtonTools
end if
if ToolView is "DrawTools"
then
HideDrawTools
end if
if ToolView is "FieldTools"
then
HideFieldTools
end if
hide background button id 22 --choose buttontool
hide background button id 23 --choose fieldtool
hide background button id 68 --set visual effects
hide background button id 94 --button to show drawing tools
hide background button id 92 --button to show button buttons
hide background button id 93 --button to show field buttons
hide background button id 21 --new card
hide background button id 20 --new stack
hide background button id 126 --CleanUp
set the icon of background button id 26 to 0
set the style of background button id 26 to transparent
hide background button id 98 --black backdrop
changeMenu WorkMenu,3,"Show Tools "
lockFields
end HideTools
on ShowTools
global WorkMenu, ToolView
show background button id 98 --black backdrop
set the style of background button id 26 to rectangle
set the icon of background button id 26 to 24272
set the icon of background button id 26 to 28097
set the icon of background button id 26 to 15566
changeMenu WorkMenu,3,"Hide Tools "
show background button id 81 --emergency editing (right margin)
show background button id 126 --CleanUp
show background button id 20 --new stack
show background button id 21 --new card
show background button id 93 --show field buttons
show background button id 92 --show button buttons
show background button id 94 --show drawing tools
show background button id 68 --set visual effects
show background button id 23 --choose fieldtool
show background button id 22 --choose buttontool
if ToolView is empty then ShowFieldTools
else if ToolView is "FieldTools" then ShowFieldTools
else if ToolView is "ButtonTools" then ShowButtonTools
else if ToolView is "DrawTools" then ShowDrawTools
end ShowTools
on ShowFieldTools
global FieldsLocked, ToolView
put "FieldTools" into ToolView
if FieldsLocked
then
set the icon of background button id 25 to "LockedFields"
else
set the icon of background button id 25 to "UnlockedFields"
end if
show background button id 10 --title field
show background button id 14 --body field
show background button id 12 --full card field
show background button id 69 --large font field
show background button id 121 --popup field
show background button id 249 --shimmerfield
show background button id 250 --bulger
show background button id 251 --rectangle field
show background button id 252 --scrolling
show background button id 253 --typewriter field
show background button id 254 --autoscrolling field
show background button id 11 --columns
show background button id 284 --change font
show background button id 285 --change field style
show background button id 134 --toggle textHeight
show background button id 86 --left align text
show background button id 87 --center align text
show background button id 88 --right align text
show background button id 25 --lock/unlock fields
end ShowFieldTools
on HideFieldTools
hide background button id 25
hide background button id 88
hide background button id 87
hide background button id 86
hide background button id 134 --toggle textHeight
hide background button id 285 --change style
hide background button id 284 --change font
hide background button id 11
hide background button id 254 --autoscrolling field
hide background button id 253 --typewriter field
hide background button id 252 --scrolling
hide background button id 251 --rectangle field
hide background button id 250 --bulger
hide background button id 249 --shimmerfield
hide background button id 121
hide background button id 69
hide background button id 12
hide background button id 14
hide background button id 10
end HideFieldTools
on ShowButtonTools
global ToolView
put "ButtonTools" into ToolView
show background button id 99 --chain together
show background button id 16 --hiliter
show background button id 129 --tile hiliters
show background button id 70 --flasher
show background button id 255 --inverter
show background button id 256 --greyout
show background button id 72 --shutter
show background button id 80 --mask
show background button id 133 --shrinker
show background button id 297 --vanilla
show background button id 257 --stepper
show background button id 103 --checkbox dingbats
show background button id 108 --arrow dingbats
show background button id 109 --hand dingbats
showChainTools
end ShowButtonTools
on HideButtonTools
hideChainTools
hide background button id 109 --hand dingbats
hide background button id 108 --arrow dingbats
hide background button id 103 --checkbox dingbats
hide background button id 297 --vanilla
hide background button id 257 --stepper
hide background button id 133 --shrinker
hide background button id 80 --mask
hide background button id 72 --shutter
hide background button id 256 --greyout
hide background button id 255 --inverter
hide background button id 70 --flasher
hide background button id 129 --tile hiliters
hide background button id 16 --hiliter
hide background button id 99 --chain together
end HideButtonTools
on showChainTools
show background button id 117 --Delay
show background button id 119 --Beep
show background button id 206 --LockScreen
show background button id 233 --Opener
show background button id 271 --Linker
if field "GraphArea" is not empty
then show background button id 272 --Graph
if field "LineSpecs" is not empty
then show background button id 273 --Draw
if field "PopUps" is not empty
then show background button id 270 --PopUp
end showChainTools
on HideChainTools
hide background button id 270 --PopUp
hide background button id 273 --Draw
hide background button id 272 --Graph
hide background button id 271 --Linker
hide background button id 233 --Opener
hide background button id 206 --LockScreen
hide background button id 119 --Beep
hide background button id 117 --Delay
end HideChainTools
on ShowDrawTools
global ToolView
put "DrawTools" into ToolView
show background button id 27 --drawline
show background button id 258 --drawline wavy
show background button id 259 --drawline dotted
show background button id 102 --drawarrow
show background button id 260 --drawArrow wavy
show background button id 261 --drawArrow dotted
show background button id 262 --border field
show background button id 263 --shadow field
show background button id 264 --connect fields
show background button id 265 --make graph
show background button id 84 --erase recent/all
show background button id 293 --protect recent
end ShowDrawTools
on HideDrawTools
hide background button id 293 --protect recent
hide background button id 84 --erase recent/all
hide background button id 265 --make graph
hide background button id 264 --connect fields
hide background button id 263 --shadow field
hide background button id 262 --border field
hide background button id 261 --drawArrow dotted
hide background button id 260 --drawArrow wavy
hide background button id 102 --drawArrow
hide background button id 259 --drawline dotted
hide background button id 258 --drawline wavy
hide background button id 27 --drawLine
end HideDrawTools
on ShowNumber
global WorkMenu
show field "CardNumber"
push card
lock screen
set the lockmessages to true
go to card 1 of background "FX"
set the visible of field "CardNumber" to true
pop card
set the lockmessages to false
unlock screen
ChangeMenu WorkMenu,9,"Hide Slide Numbers "
end ShowNumber
on HideNumber
global WorkMenu
hide field "CardNumber"
lock screen
set the lockmessages to true
push card
go to first card of background "FX"
set the visible of field "CardNumber" to false
pop card
set the lockmessages to false
unlock screen
ChangeMenu WorkMenu,9,"Show Slide Numbers "
end HideNumber
on SortAll
sort numeric by field "CardNumber"
go first
end SortAll
function clickLine
--Improved version of Apple's script.
--Using clickloc is more reliable than using MouseV.
--MouseV may have changed between time mouse was clicked
--and time instruction is executed.
if the style of the target is "scrolling" then
put the scroll of the target into Scroll
else
put 0 into Scroll
end if
return ((((item 2 of the clickloc) + Scroll) - (item 2 of the rect of the target + 4)) ¬ -- 4 to allow for descenders
div the textheight of the target) + 1
end clickLine
on shrink NextObject
put the rect of button id NextObject into rectWanted
put word 2 of the short name of button id NextObject into increment
put the bottom of button id NextObject into thisBottom
add increment to item 2 of rectwanted
if thisBottom - (item 2 of rectwanted) < (increment*0.75)
then
put thisBottom into item 2 of rectwanted
end if
lock screen
set the rect of button id NextObject to rectWanted
unlock screen
add 1 to item 1 of line NextObject of field "Chains"
end shrink
on TabToFirst
global ThisName, ThisSpot, ThisLine
put quote & thisName & quote into word 6 of ThisSpot
put ThisLine + 1 into word 2 of ThisSpot
end TabToFirst
on TabToLast
global ObjectNumber, ThisName, ThisLine, ThisSpot
put ObjectNumber into LastColumn
repeat with i = ObjectNumber to the number of card fields
if thisName is not the short name of card field i
then exit repeat
else
put i into LastColumn
end if
end repeat
put LastColumn into word 6 of ThisSpot
put max(1,(ThisLine - 1)) into word 2 of ThisSpot
end TabToLast
on tabkey
global TabWidth, ThisSpot, ObjectNumber, ThisName, ThisLine, TabDirection
if the shiftKey is "down" then put -1 into TabDirection
else put 1 into TabDirection
if the selectedchunk is empty
then --put cursor in first card field, if any
if the number of card fields > 0
then
select after text of card field 1
else
pass TabKey
end if
else
put the short name of the selectedfield into thisName
if "Column" is in thisName
then --move to same line of next column, if any
put the selectedline into ThisSpot
put word 2 of ThisSpot into ThisLine
put word 6 of ThisSpot into ObjectNumber
add tabDirection to word 6 of ThisSpot --sets normal expectations
-- --but check for exceptions
if tabDirection is 1
then
if the number of card fields <= ObjectNumber --no next column
then TabToFirst
else
--if "Column" is not in the short name --old version
if thisName is not in the short name of card field (ObjectNumber + 1)
then
TabToFirst
end if
end if
else --expecting to move to previous column, but see if one exists
if ObjectNumber = 1 --no previous field
then TabToLast
else --check for previous column
if thisName <> (the short name of card field (ObjectNumber - 1))
then --no previous column
TabToLast
end if
end if
end if --all necessary adjustments to thisSpot now made
select after ThisSpot
else if ThisName is "XValues" then TabToY --in background column
else if ThisName is "YValues" then TabToX --in background column
else if ThisName is "XMax" then select line 1 of field "XInt"
else if ThisName is "XInt" then select line 1 of field "XMin"
else if ThisName is "XMin" then select line 1 of field "YMax"
else if ThisName is "YMax" then select line 1 of field "YInt"
else if ThisName is "YInt" then select line 1 of field "YMin"
else if ThisName is "YMin" then select line 1 of field "XMax"
else --not in column; indent
put the selectedchunk into here
put ((word 2 of here) - 1) into word 4 of here
do "select " & here --taking care not to delete anything
repeat with i = 1 to TabWidth
type " "
end repeat
end if
end if
end tabkey
on TabToX
global TabDirection
put word 2 of the selectedline into ThisLine
if TabDirection is 1 then add 1 to ThisLine
if ThisLine > 16 then put 1 into ThisLine
select after line ThisLine of field "XValues"
end TabToX
on TabToY
global TabDirection
put word 2 of the selectedline into ThisLine
if TabDirection is -1 then subtract 1 from ThisLine
if ThisLine < 1 then put 16 into ThisLine
select after line ThisLine of field "YValues"
end TabToY
on returnInField
if the shiftKey is not "down"
then pass returnInField
else
put the selectedline into ThisSpot
if word 2 of thisSpot is not 1
then
subtract 1 from word 2 of ThisSpot
select after ThisSpot
else
pass returnInField
end if
end if
end returnInField
on CreateField wanted
global FieldsLocked, ObjectNumber, ObjectID
lock screen
show field id wanted
select field id wanted
domenu "copy field"
domenu "paste field"
hide field id wanted
put the number of card fields into ObjectNumber
put the ID of card field ObjectNumber into ObjectID
if wanted is 237 --typewriter field
then
lockFields
else
put false into FieldsLocked
set the icon of background button id 25 to "UnlockedFields"
if wanted is not 137 and wanted is not 122 --not Rectangle or PopUp
then
choose browse tool
unlock screen
select char 1 to 0 of card field ObjectNumber
else
unlock screen
end if
end if
end CreateField
on CreateButton wanted
global ObjectNumber, ObjectID
show background button id wanted
select background button id wanted
domenu "copy button"
domenu "paste button"
hide background button id wanted
put the number of buttons into ObjectNumber
put the ID of button ObjectNumber into ObjectID
end CreateButton
on arrowkey which
if which is "left" or which is "right"
then
set the lockmessages to true
if which is "left" then go previous
if which is "right" then go next
set the lockmessages to false
else
pass arrowkey
end if
end arrowkey
on GiveHelp whatever
put quote & whatever into wanted
if last char of wanted is " " then delete last char of wanted
put quote after wanted
if "Menu" is not in wanted then put " Command" after wanted
put "Getting Help Concerning: " & wanted
push card
lock screen
set the lockMessages to true
go to stack "SmartSlides 1.1 Help"
go to card whatever
unlock screen
hide msg
set the lockmessages to false
exit to HyperCard
end GiveHelp
on PrepForPrinting
ShowNumber
put the number of cards of background "work" into lastCard
repeat with i = 1 to lastCard
go to card i of background "work"
put "Preparing card " & i & " of " & lastCard & "."
repeat with i = 1 to the number of buttons
if the style of button i is not "transparent"
then hide button i
end repeat
end repeat
put "Ready for printing."
end PrepForPrinting
on ShowCredits
hide menubar
send ClearCard to Field "Scripts"
put empty into field "Credits"
show field "Credits"
put "SmartSlides Philosophy Department" & return into field "Credits"
put "version 1.1 Syracuse University " & return after field "Credits"
put "© June 5, 1990 Syracuse, NY 13244   " & return after field "Credits"
put "Mark A. Brown (315) 443-5818     " & return & return after field "Credits"
put "SmartSlides, its name, design and scripts, are all copyrighted." & return & return after field "Credits"
put "THIS STACK IS SHAREWARE. " & return after field "Credits"
put "You may freely copy it and give away copies," & return after field "Credits"
put "as long as you preserve its copyright and shareware notices." & return after field "Credits"
put "YOU MAY NOT SELL IT." & return after field "Credits"
put "If you use this to give a lecture or presentation," & return after field "Credits"
put "or as the base for another stack for similar purposes," & return after field "Credits"
put "please send $15 to me at the above address" & return after field "Credits"
put "the first time you use it." & return after field "Credits"
put "Include your name & address and" & " I'll send you a copy of the manual." & return after field "Credits"
put "XCMDs and XFCNs are freeware from Nine To Five Software." & return after field "Credits"
put "My thanks to them for making extra menus possible." & return after field "Credits"
show background button "Smart Help"
show msg at 15,320
put " CLICK IN FIELD TO CONTINUE OR CLICK ON BUTTON FOR HELP"
end ShowCredits